htt[p]erl, simulador de web server
Publicado por Fábio Berbert de Paula 06/01/2003
[ Hits: 8.122 ]
Homepage: https://fabio.automatizando.dev
htt[p]erl é um script usado para simular um servidor web, muito bom para quem deseja entender melhor o protocolo de comunicação entre browser e servidor. O programa fica escutando na porta TCP 80 e envia uma página HTML padrão para o browser do usuário.
#!/usr/bin/perl
# ---------------------------------------------------------
# httperl.pl (htt[p]erl)
#
# Script em Perl usado para simular um servidor web, muito
# bom para quem deseja entender melhor o protocolo de
# comunicação entre browser e servidor
#
#
# Programado por Fábio Berbert de Paula
# <fabio@vivaolinux.com.br>
#
# Rio de Janeiro, 06 de Janeiro de 2003
# ---------------------------------------------------------
$| = 1;
# criar socket na porta 80 do servidor
use IO::Socket;
my $sock = new IO::Socket::INET (
LocalPort => '80',
Type => SOCK_STREAM,
Proto => 'tcp',
Listen => 10
);
die "Não consegui iniciar o servidor: $!\n" unless $sock;
print "Servidor iniciado ...\n";
# definir o cabeçalho de retorno básico
my $retorno = "
HTTP/1.1 200 OK
Server: htt[p]erl/1.0 (GNU/Linux)
Connection: close
Content-Type: text/html
<html>
<body>
Uma cortesia de <a href=\"http://www.vivaolinux.com.br\">Viva o Linux</a>.
</body>
</html>
";
# aceitar conexões TCP
while (my $new_sock = $sock->accept()) {
while($linha = <$new_sock>) {
# imprimir o cabeçalho recebido pelo browser do usuário
print $linha;
# se linha vazia, então o browser envio câmbio, vamos respondê-lo
if ($linha!~/[A-Za-z0-9]/) {
print $new_sock $retorno;
# fechar conexão com o cliente
$new_sock = '';
}
}
close(W);
}
close($sock);
Ler uma sequências fasta e separar por tamanho [Bioinformática]
Verificação de IP em blacklists
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Conky, alerta de temperatura alta (11)
Assisti Avatar 3: Fogo e Cinzas (3)
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (42)









